Skip to content

Move synthetic NIC stress tests into a dedicated synthetic test area#4567

Open
SRIKKANTH wants to merge 1 commit into
mainfrom
smyakam/synthetic/2026_06_29
Open

Move synthetic NIC stress tests into a dedicated synthetic test area#4567
SRIKKANTH wants to merge 1 commit into
mainfrom
smyakam/synthetic/2026_06_29

Conversation

@SRIKKANTH

Copy link
Copy Markdown
Collaborator

Summary

Splits the network stress test suite so that the synthetic-NIC stress tests are reported under a dedicated area="synthetic" instead of being grouped with the SRIOV tests under area="sriov".

Changes

  • Introduced a new StressSynthetic(TestSuite) class with @TestSuiteMetadata(area="synthetic", category="stress") in lisa/microsoft/testsuites/network/stress.py.
  • Moved the three synthetic test cases out of the existing Stress (area="sriov") suite into the new suite:
    • stress_synthetic_provision_with_max_nics_reboot
    • stress_synthetic_with_max_nics_reboot_from_platform
    • stress_synthetic_with_max_nics_stop_start_from_platform
  • The SRIOV stress tests remain unchanged in the Stress suite.

Motivation

Synthetic-NIC scenarios were previously categorized under the sriov area, which is misleading for reporting and test selection. Placing them in their own synthetic area makes the test taxonomy accurate and easier to filter.

Behavior

  • No test logic changed — only the suite class/area assignment.
  • Test method names, priorities, and requirements are preserved.

Key Test Cases:
stress_synthetic_provision_with_max_nics_reboot|stress_synthetic_with_max_nics_reboot_from_platform|stress_synthetic_with_max_nics_stop_start_from_platform

Impacted LISA Features:
NetworkInterface, StartStop

Tested Azure Marketplace Images:

  • canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
  • redhat rhel 9_5 latest

Splits the network stress test suite so that the synthetic-NIC stress tests are reported under a dedicated area="synthetic" instead of being grouped with the SRIOV tests under area="sriov".
Copilot AI review requested due to automatic review settings June 29, 2026 17:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reorganizes network stress tests so synthetic-NIC stress scenarios are reported under a dedicated area="synthetic" instead of being grouped under area="sriov", improving test taxonomy and filtering/reporting.

Changes:

  • Added a new StressSynthetic stress suite annotated with @TestSuiteMetadata(area="synthetic", category="stress").
  • Moved the three synthetic NIC stress test cases into StressSynthetic.
  • Updated the corresponding stress cases under the SR-IOV stress suite to use SR-IOV network settings and SR-IOV basic validation.

Comment on lines +168 to +169
initialize_nic_info(environment)
sriov_basic_test(environment)
@TestCaseMetadata(
description="""
This case verify VM works well when provisioning with max sriov nics.
This case verify VM works well when provison with max synthetic nics.
@TestCaseMetadata(
description="""
This case verify VM works well when provisioning with max sriov nics.
This case verify VM works well when provison with max synthetic nics.
@TestCaseMetadata(
description="""
This case verify VM works well when provisioning with max sriov nics.
This case verify VM works well when provison with max synthetic nics.
def stress_sriov_with_max_nics_reboot(self, environment: Environment) -> None:
initialize_nic_info(environment)
sriov_basic_test(environment)
for _ in range(10):
initialize_nic_info(environment, is_sriov=False)
initialize_nic_info(environment)
sriov_basic_test(environment)
for _ in range(10):
initialize_nic_info(environment, is_sriov=False)
initialize_nic_info(environment)
sriov_basic_test(environment)
for _ in range(10):
skip_if_no_synthetic_nics(node)

initialize_nic_info(environment, is_sriov=False)
for _ in range(10):
skip_if_no_synthetic_nics(node)

initialize_nic_info(environment, is_sriov=False)
for _ in range(10):
skip_if_no_synthetic_nics(node)

initialize_nic_info(environment, is_sriov=False)
for _ in range(10):
@github-actions

Copy link
Copy Markdown

✅ AI Test Selection — PASSED

43 test case(s) selected (view run)

Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest

Count
✅ Passed 38
❌ Failed 0
⏭️ Skipped 5
Total 43
Test case details
Test Case Status Time (s) Message
verify_bbr3_kernel_config_runtime_consistency (lisa_0_4) ⏭️ SKIPPED 7.918 skipped: CONFIG_TCP_CONG_BBR3 is not enabled in kernel.
verify_bbr3_available (lisa_0_1) ⏭️ SKIPPED 8.285 skipped: bbr3 is not available in net.ipv4.tcp_available_congestion_control. CONFIG_TCP_CONG_BBR3 is not enabled in kern
verify_bbr3_set_and_restore (lisa_0_2) ⏭️ SKIPPED 8.904 skipped: bbr3 is not available in net.ipv4.tcp_available_congestion_control. CONFIG_TCP_CONG_BBR3 is not enabled in kern
verify_bbr3_applies_to_live_tcp_flow (lisa_0_3) ⏭️ SKIPPED 9.341 skipped: bbr3 is not available in net.ipv4.tcp_available_congestion_control. CONFIG_TCP_CONG_BBR3 is not enabled in kern
verify_ringbuffer_settings_change (lisa_0_27) ✅ PASSED 12.297
verify_device_gro_lro_settings_change (lisa_0_30) ✅ PASSED 9.278
verify_device_channels_change (lisa_0_28) ✅ PASSED 12.125
verify_device_enabled_features (lisa_0_29) ✅ PASSED 10.586
verify_device_rss_hash_key_change (lisa_0_31) ✅ PASSED 6.338
verify_device_rx_hash_level_change (lisa_0_32) ✅ PASSED 7.555
verify_device_msg_level_change (lisa_0_33) ✅ PASSED 7.443
verify_device_statistics (lisa_0_34) ✅ PASSED 319.381
verify_lwtunnel_bpf_support (lisa_0_0) ⏭️ SKIPPED 7.357 before_case skipped: Unsupported system: 'Ubuntu 22.04.5 LTS'. LWTUNNEL BPF support is only tested on AzureLinux 3.0 and
verify_services_state (lisa_0_5) ✅ PASSED 4.970
verify_sriov_disable_enable (lisa_0_11) ✅ PASSED 59.095
verify_sriov_provision_with_max_nics (lisa_0_15) ✅ PASSED 21.236
verify_sriov_provision_with_max_nics_reboot (lisa_0_16) ✅ PASSED 53.046
verify_sriov_provision_with_max_nics_reboot_from_platform (lisa_0_17) ✅ PASSED 165.610
verify_sriov_provision_with_max_nics_stop_start_from_platform (lisa_0_18) ✅ PASSED 170.930
verify_sriov_basic (lisa_0_6) ✅ PASSED 39.091
verify_sriov_single_vf_connection (lisa_0_7) ✅ PASSED 42.035
verify_sriov_disable_enable_pci (lisa_0_12) ✅ PASSED 41.021
verify_sriov_disable_enable_on_guest (lisa_0_13) ✅ PASSED 31.695
verify_sriov_max_vf_connection (lisa_0_9) ✅ PASSED 48.358
verify_sriov_reload_modules (lisa_0_19) ✅ PASSED 77.010
verify_sriov_add_max_nics (lisa_0_14) ✅ PASSED 280.036
verify_sriov_ethtool_offload_setting (lisa_0_20) ✅ PASSED 298.649
verify_irqbalance (lisa_0_21) ✅ PASSED 310.512
verify_sriov_single_vf_connection_max_cpu (lisa_0_8) ✅ PASSED 42.348
verify_sriov_interrupts_change (lisa_0_22) ✅ PASSED 207.153
verify_sriov_max_vf_connection_max_cpu (lisa_0_10) ✅ PASSED 99.957
verify_inet_diag_destroy (lisa_0_23) ✅ PASSED 3.868
verify_inet_diag_enabled (lisa_0_24) ✅ PASSED 1.761
verify_xfrm_interface (lisa_0_35) ✅ PASSED 9.052
verify_xfrm_interface_load_unload (lisa_0_36) ✅ PASSED 4.840
validate_netvsc_reload (lisa_0_25) ✅ PASSED 24.581
verify_network_interface_reload_via_ip_link (lisa_0_26) ✅ PASSED 46.764
verify_synthetic_provision_with_max_nics (lisa_0_37) ✅ PASSED 17.278
verify_synthetic_provision_with_max_nics_reboot (lisa_0_38) ✅ PASSED 47.648
verify_synthetic_provision_with_max_nics_reboot_from_platform (lisa_0_39) ✅ PASSED 219.564
verify_synthetic_provision_with_max_nics_stop_start_from_platform (lisa_0_40) ✅ PASSED 223.888
verify_synthetic_add_max_nics_one_time_after_provision (lisa_0_41) ✅ PASSED 375.898
verify_synthetic_add_max_nics_one_by_one_after_provision (lisa_0_42) ✅ PASSED 1040.618

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants